// 导入上传文件的包  定义上传文件的信息（文件名称，目录）
const multer = require('multer')
// 导入 path  模块
const path = require('path')
// 通过 filename 属性定制
const storage = multer.diskStorage({
    // 保存的路径
    // 备注：手动创建目录存放图片
    destination(req, file, callback) {
        console.log(req.baseUrl)
        console.log(file.fieldname)
        callback(null, path.resolve(__dirname,'../public/resources/imgs'))
    },
    filename(req, file, callback) {
        console.log(req.url)
        // 将保存文件名设置为 字段名 + 时间戳，比如 logo-1478521468943
        let originalname = file.originalname
        let lastIndex = originalname.lastIndexOf('.')+1
        // 获取文件格式 .jpg  .png
        let suffix = originalname.slice(lastIndex) || file.mimetype.split('/')[1]
        // 获取日期
        let dt = new Date()
        let yy = dt.getFullYear()
        let mm = dt.getMonth() + 1
        let dd = dt.getDate();
        mm = mm < 10 ? '0'+mm: mm
        dd = dd < 10 ? '0'+dd: dd
        let str = `${yy}${mm}${dd}`
        // 拼接文件名称
        let filename = file.fieldname+'-'+str+ '-' + Date.now() + '.' + suffix;
        callback(null, filename);
    }
});

//生成的文件放入 '../public/resources/imgs'
const upload = multer({ storage: storage });

// 导出处理文件的方法
module.exports = upload